package org.platform.core.rule;// package org.platform.main.rule;
//
// import java.io.File;
// import java.util.Collection;
//
// import org.apache.commons.collections4.CollectionUtils;
// import org.apache.commons.io.FileUtils;
// import org.kie.api.io.ResourceType;
// import org.kie.api.runtime.rule.QueryResults;
// import org.kie.internal.KnowledgeBase;
// import org.kie.internal.KnowledgeBaseFactory;
// import org.kie.internal.builder.KnowledgeBuilder;
// import org.kie.internal.builder.KnowledgeBuilderErrors;
// import org.kie.internal.builder.KnowledgeBuilderFactory;
// import org.kie.internal.io.ResourceFactory;
// import org.kie.internal.runtime.StatefulKnowledgeSession;
// import org.springframework.stereotype.Service;
//
/// **
// * @author mabb
// *
// */
//
// @Service
// public class DroolsExpertEngine
// {
//
// public static void main(String[] args)
// {
// }
//
// @SuppressWarnings("deprecation")
// private KnowledgeBase kbase;
//
// private KnowledgeBuilder kbuilder;
//
// public DroolsExpertEngine()
// {
// kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
// kbase = KnowledgeBaseFactory.newKnowledgeBase();
//
// initRules();
// }
//
// /**
// * @return boolean
// */
// @SuppressWarnings("deprecation")
// public boolean initRules()
// {
// String path = "D:/FDRoot/Rule";
// File f = new File(path);
//
// if (!f.exists())
// {
// return false;
// }
//
// Collection<File> ruleFiles = FileUtils.listFiles(new File(path),
// new String[]
// { "drl" }, true);
//
// if (CollectionUtils.isEmpty(ruleFiles))
// {
// return false;
// }
//
// for (File ruleFile : ruleFiles)
// {
// if (null == ruleFile)
// {
// continue;
// }
//
// kbuilder.add(ResourceFactory.newFileResource(ruleFile),
// ResourceType.DRL);
// }
//
// KnowledgeBuilderErrors errors = kbuilder.getErrors();
// if (errors.size() > 0)
// {
// return false;
// }
// kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
// return true;
// }
//
// /**
// * @return boolean
// */
// public boolean isAbate(String name, Object rBean)
// {
// if (null == rBean)
// {
// return true;
// }
//
// @SuppressWarnings("deprecation")
// StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
// ksession.insert(rBean);
//
// QueryResults qrs = ksession.getQueryResults(name);
//
// if (null == qrs || qrs.size() == 0)
// {
// ksession.dispose();
// return true;
// }
//
// ksession.dispose();
// return false;
// }
// }
